/*
 * @Description: 资源信息 - 模型
 * @Author: DHL
 * @Date: 2022-03-14 17:13:43
 * @LastEditors: DHL
 * @LastEditTime: 2022-03-31 10:29:18
 */

import { BaseModel, PageParams, Params, Result, ResultPage } from '@/model/baseModel'

/**
 * 资源信息对象
 */
export interface ResourceModel extends BaseModel {
  /** 编号 */
  id: string

  /** 父级编码 */
  parentResId: Nullable<string>

  /** 资源名称 */
  name: string

  /** 资源路径 */
  url: string

  /** 资源类型 */
  resType: string

  /** 资源图标 */
  iconCls: string

  /** 顺序 */
  resSeq: number

  /** 目标 */
  target: string

  /** 资源描述 */
  description: string

  /** 资源状态(0：无效；1：有效) */
  status: string

  /** 是否记录日志（0：无效；1：有效） */
  islog: string

  /** 是否缓存（0-否，1-是） */
  iscache: string

  /** 项目ID */
  projectId: string

  /** 项目名称 */
  projectName?: string

  /** 原资源ID */
  oldId?: string

  /** 子节点 */
  children?: Array<ResourceModel>

  /**
   * 是否选中
   */
  checked?: boolean
}

//////////////////////////////////////////////////
// 参数
//////////////////////////////////////////////////

/**
 * 查询参数
 */
export interface ResourceParams extends Params {
  /**
   * 关键字模糊查询
   */
  queryLikeStr: string
}

/**
 * 分页查询参数
 */
export interface ResourcePageParams extends ResourceParams, PageParams {}

//////////////////////////////////////////////////
// 返回结果
//////////////////////////////////////////////////

/**
 * 分页查询返回结果
 */
export type ResourcePageResultModel = ResultPage<ResourceModel>

/**
 * 不分页查询返回结果
 */
export type ResourceListResultModel = Result<Array<ResourceModel>>

/**
 * 详情查询返回结果
 */
export type ResourceResultModel = Result<ResourceModel>
